/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Negocios;

import Gestores.DtoObjects.PagoCertificadoDTO;
import Gestores.Entidades.EntidadPagoCertificado;
import Gestores.Entidades.EntidadPagoCredencial;

import Gestores.Factory.FactoryClass;

import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Lion
 */
public class PagoCertificadoNegocio {
    
    private PagoCertificadoDTO dto;
    private EntidadPagoCertificado entidad;
    
    public PagoCertificadoNegocio(){
        this.dto= FactoryClass.getPagoCertificadoInstance();
        this.entidad= new EntidadPagoCertificado();
    }
     public void insertarPagoCertificado(String ci, String descrip) throws Exception{
         int cod=Integer.valueOf(ci);
         entidad=new EntidadPagoCertificado(0, cod, descrip, 35, null, true);
        if (buscarPorCi(cod).isEmpty()) {
            dto.insertar(entidad);
        } else {
            throw new Exception("El interezado ya pago matricula");
        }
     }
      public void eliminacionLogica(String id, String ci)throws Exception{
        
        int i=Integer.valueOf(ci);
        int c=Integer.valueOf(id);
        EntidadPagoCertificado cre= new EntidadPagoCertificado(c, i, " ", 0, null, true);
        dto.eliminacionLogica(cre);
    
    }
    
     public ArrayList<Object> buscarPorCi(int ci) throws Exception {
        if (ci<0) {
            throw new Exception("El formato del C.I. del Afiliado no es Correcto.\n Formato: Numero Entero Positivo ");
        } else {
            return dto.buscarPorCi(ci);
        }
    }
    
     public DefaultTableModel tabularDatosBusquedaId(ArrayList<Object> listaDatos) {
        String[] campos = new String[]{entidad.ColumNameId(), entidad.ColumNameDescrip(), 
            entidad.ColumNameMonto(), entidad.ColumNameEstado(), entidad.ColumNameFecha()};
        DefaultTableModel model = new DefaultTableModel(campos, 0);


        for (int i = 0; i < listaDatos.size(); i++) {
            entidad = (EntidadPagoCertificado) listaDatos.get(i);
            Object[] camposEntidad = new Object[]{entidad.getId(),entidad.getDescripcion(),
          entidad.getMonto(), entidad.isEstado(), entidad.getFecha()};
            model.addRow(camposEntidad);
        }

        return model;
    }
     private boolean esLetra(char caracter) {
        if (((caracter >= 'A') && (caracter <= 'Z')) || ((caracter >= 'a') && (caracter <= 'z'))) {
            return true;
        } else {
            return false;
        }
    }

    private boolean esNumero(char caracter) {
        if ((caracter >= '0') && (caracter <= '9')) {
            return true;
        } else {
            return false;
        }
    }
    
    
}
